perm filename LISP3.AX[W77,JMC] blob sn#259364 filedate 1977-01-24 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	DECLARE PREDCONST SEXP 1[R←350]
C00004 ENDMK
C⊗;
DECLARE PREDCONST SEXP 1[R←350];
DECLARE PREDCONST LIST 1[R←350];

DECLARE INDVAR X X0 X1 X2 Y Y0 Y1 Y2 Z Z0 Z1 Z2;
DECLARE INDCONST UU;

DECLARE PREDPAR P1 1 P2 2;

AXIOM AE:
	∀Y.(∀X.P1(X) ⊃ P1(Y))
	∀Y1 Y2.(∀X1 X2.P2(X1,X2) ⊃ P2(Y1,Y2))
;;

AXIOM EI:
	∀Y.(P1(Y) ⊃ ∃X.P1(X))
	∀Y1 Y2.(P2(Y1,Y2) ⊃ ∃X1 X2.P2(X1,X2))
;;

DECLARE INDVAR x x0 x1 x2 y y0 y1 y2 z z0 z1 z2 ε SEXP;
DECLARE INDVAR u u0 u1 u2 v v0 v1 v2 w w0 w1 w2 ε LIST;
DECLARE INDCONST NILL ε LIST;

AXIOM SEXP: ∀x.SEXP x;;
AXIOM LIST: ∀u.LIST u;;

MOREGENERAL SEXP ≥ {LIST};

DECLARE OPCONST CONS 2;
DECLARE OPCONST CAR 1[R ← 600];
DECLARE OPCONST CDR 1[R ← 600];

DECLARE PREDCONST ATOM 1[R ← 500];

AXIOM CONS:
	∀x y.SEXP CONS(x,y)
	∀x u.LIST CONS(x,u)
;;

AXIOM CAR:
	∀x.(¬ATOM x ⊃ SEXP CAR x)
;;

AXIOM CDR:
	∀x.(¬ATOM x ⊃ SEXP CDR x)
	∀u.(¬u=NILL ⊃ LIST CDR u)
;;


AXIOM NILL: ATOM NILL;;

AXIOM LISP:
	∀x y.¬ATOM CONS(x,y)
	∀x y.(CAR CONS(x,y) = x)
	∀x y.(CDR CONS(x,y) = y)
	∀y.(¬ATOM y ⊃ y = CONS(CAR y,CDR y))
;;

AXIOM LIST: ∀x u.LIST(CONS(x,u));;

DECLARE PREDPAR P 1;

AXIOM INDUCTION:
	∀x.(ATOM x ⊃ P(x)) ∧ ∀x.(¬ATOM x ∧ P(CAR x) ∧ P(CDR x) ⊃ P(x)) ⊃ ∀x.P(x)
	P(NILL) ∧ ∀u.(¬(u=NILL) ∧ P(CDR u) ⊃ P(u)) ⊃ ∀u.P(u)
;;